1. Field of the Invention
The present invention relates to a device and a method for manipulating communication messages in a communication system which includes a data bus, a plurality of nodes connected thereto, and means for transmitting messages in message frames at fixedly predefined communication cycles. The present invention also relates to a communication system which includes a data bus, a plurality of network nodes connected thereto, and means for transmitting communication messages between the nodes via the data bus in message frames at fixedly predefined communication cycles.
2. Description of Related Art
Interconnection of control units, sensors, and actuators with the aid of a communication system and a communication link, for example, in the form of a data bus, has drastically increased in the past few years in particular in the automotive industry, but also in other areas such as mechanical engineering, especially in the machine tool industry and in automation. By connecting a plurality of stations or nodes to a data bus in a communication system, synergy effects may be achieved by distributing functions to a plurality of nodes. These are known as distributed systems.
Communication among different stations of such a communication system takes place via a data bus. This communication traffic on the bus system, access mechanisms, and receiving mechanisms, as well as error processing, are regulated via a data transmission protocol or a communication protocol. A protocol known from the related art, which provides for transmission of messages in message frames at fixedly predefined communication cycles is, for example, the FlexRay protocol. FlexRay is a high-speed, deterministic, and error-tolerant bus system, in particular for use in motor vehicles. The FlexRay protocol operates according to the time-division multiple-access (TDMA) principle, in which the stations or the messages to be transmitted are assigned fixed time slots in which they have exclusive access to the data bus. The time slots are repeated in a fixedly predefined communication cycle, so that the point in time at which a message is transmitted over the data bus may be accurately predicted, and bus access thus takes place deterministically.
In order to optimally utilize the bandwidth for message transmission on the data bus, FlexRay subdivides the communication cycle into a static and a dynamic part. The fixed time slots are located in the static part at the beginning of a communication cycle. In the dynamic part, the size of the time slots is dynamically predefined. Exclusive bus access in the time slot is enabled only for a short time, for the duration of at least one so-called minislot. Only if a bus access occurs within a minislot is the time slot extended for the time needed. The bandwidth is thus only used only if it is actually needed for transmitting information. Despite the deterministic character of FlexRay, it also allows event-controlled message transmission via the dynamic portion of a communication cycle.
Two separate channels are provided in FlexRay for data transmission. FlexRay communicates via one or two physically separated lines per channel at a data rate of 10 Mbit/s maximum each. Of course, FlexRay may also be operated at lower data rates. The lines of the two channels correspond to the physical layer, in particular of the so-called OSA (Open System Architecture) layer model. It is possible to use both channels for redundant and therefore error-tolerant transmission of messages, the same data then being transmitted simultaneously over both channels. Alternatively, different messages may also be transmitted over the two channels, whereby the data rate could then be doubled in the FlexRay communication system. It is also conceivable that the signal transmitted via the connecting lines results from the difference between the signals transmitted over the two lines. Finally, only one channel may also be used for the data transmission, in which case the other channel is unused and free. At this time typical FlexRay applications are designed redundantly to have one channel or two channels. The physical layer is designed in such a way that it makes both electrical and optical transmission of the signal(s) via the line(s) or transmission in other ways possible.
In order to implement synchronous functions in the communication system and optimize the bandwidth via the smallest possible intervals (idle times) between two messages, the nodes in the communication network need a common time base, the so-called global time. Synchronization messages are transmitted in the static part of the cycle for synchronizing local clocks of the nodes, the local times of the stations being corrected with the aid of a special algorithm according to the FlexRay specification in such a way that all local clocks run synchronously with a global clock.
A FlexRay station or FlexRay node contains a processor, a communication controller and, if bus monitoring is implemented, a so-called bus guardian. The processor delivers and processes the data which are received or transmitted via the communication controller. In addition, a FlexRay station includes a bus driver for access to the physical layer. For communication in a FlexRay network, messages may be configured to have up to 254 data bytes, for example.
At this time, in a deterministic communication system, it is not possible to perform targeted manipulation of the communication system from the point of view of defined nodes of the communication system. Such a manipulation may include a manipulation of the messages transmitted in the message frames, or of payload data of the messages and/or a manipulation of the physical data bus (e.g., short-circuit, interruption, intermittent electrical contact, etc.). Manipulating the operating state of the communication system may be advisable, for example, in connection with the design, layout, and a test operation of the communication system. By manipulating certain nodes of a communication system, it may be ascertained or checked how the node or the communication system responds to the manipulation and/or whether the node or the communication system responds as expected. The nodes from whose point of view the manipulation of the operating state of the communication system is performed are therefore also referred to as Device Under Test (DUT).
At this time, messages transmitted in a deterministic communication system are manipulated only at bit level. These manipulations are designed as stress tests for the communication system. In doing so, however, not the actual payload data, but only certain bits in the so-called header or in the so-called trailer of a message frame are modified. More extensive manipulation of transmitted messages or of payload data contained in the messages is not being practiced at this time and can currently not be implemented.
Manipulation of the operating state of a communication system would be possible in the related art at best by modifying the hardware and/or the software of the nodes. By using such manipulation at the nodes and/or on the data bus for test purposes, however, the tested communication system would no longer correspond to the communication system actually used in practice (without modifications at the nodes and on the data bus), and the test results would not be relevant for the actual practical application of the communication system.